<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>函数的定义和调用</title>
    <!-- 
        函数的定义方式  
        1. 函数声明方式 function 关键字 (命名函数)
        2. 函数表达式 (匿名函数)
        3. new Function()
        new Function('参数1','参数2','参数3'....)
        Function 里面参数都必须是字符串格式 
        第三种方式执行效率低，也不方便书写，因此较少使用
        所有函数都是 Function 的实例(对象)
        函数也属于对象
     -->
</head>
<body>
    
</body>
<script>
    // 函数的定义方式
    // 命名函数
    function fn() {
        console.log(11);
    }
    fn()
   
    // 匿名函数(函数表达式)
    var fn1 = function() {
        console.log(22);
    }
    fn1()
    // 利用new Function()
    var f = new Function('a','b','console.log(a+b)')
    f(1,2)
    //  所有函数都是 Function 的实例(对象)
    console.dir(f)
    // 函数也属于对象
    console.log(f instanceof Object);
</script>
</html>